Base Layout (New)
The Base Layout component establishes a standardized structure at the top of the UI, aiding user navigation, providing context, and offering quick access to essential actions.
#Composition
The Base Layout is ideal for composing the following elements:
#Horizontal Navigation
Reserved for global actions and branding elements, maintaining consistent placement across the platform.
#Side navigation
The primary means for navigating the platform's core features and sections.
#Header
Contains the following elements:
- Page Title: Clearly identifies the current page or section, using the same label as the corresponding side navigation item for consistency. Keep titles concise and informative.
- Breadcrumbs (Optional): Display the user's navigation path within the platform, enhancing context and discoverability. Recommended for most pages unless the navigation is shallow.
- Utilities (Optional): Contextual actions or tools specific to the current page or section. Positioned based on their scope, with global utilities on the right and page-specific utilities on the left.
- Filters (Required): Enable users to refine and explore data on the page, improving discoverability. Prioritize the most frequently used filters and ensure they adapt to different screen sizes.
- Dashboard Picker (Optional): Allows users to personalize their view by selecting a preferred dashboard upon entering the platform.
- Alerts (Optional, Use Sparingly): Display critical system-wide messages that persist above the content area. Use sparingly to avoid overwhelming users.
#Examples
#Header base
Features a persistent page title, serving as a constant reference point for users throughout their navigation. Ensure consistency by using the same label from the side navigation as the page title.
Page title
<BaseLayoutNew id="content" pageHeader={<PageHeader title="Page title" />}>
<></>
</BaseLayoutNew>
#Header with navigation
Includes breadcrumbs to provide users with a clear understanding of their navigation path and context. This is especially useful in more complex modules or sections of the platform.
Page title
<BaseLayoutNew
id="content"
pageHeader={
<PageHeader
title="Page title"
breadcrumbs={{
"aria-label": "Breadcrumbs",
items: [
{ title: "Level 1", url: "https://fancylib.netlify.app" },
{ title: "Level 2", url: null },
],
}}
/>
}
>
<></>
</BaseLayoutNew>
#Header with utilities
Presents utilities and actions for user interaction, positioned based on their scope: product-specific utilities on the left and global utilities on the right. Prioritize the most important actions for the current context.
- Global utilities:Â Located on the far right, these are universal functions, such as export, search, settings, and similar features.
- Product-specific utilities: Located on the far left, these are functionalities relevant to the current page or product users are interacting with.
Page title
<BaseLayoutNew
id="content"
pageHeader={
<PageHeader
title="Page title"
utilities={{
productSpecific: (
<>
<Button variant="borderless" aria-label="Icon only button">
<Icon>
<IconLearn />
</Icon>
</Button>
<Button variant="primary">Primary action</Button>
<Button variant="secondary">Secondary action</Button>
</>
),
global: (
<>
<Button variant="borderless" aria-label="Icon only button">
<Icon>
<IconOptions />
</Icon>
</Button>
<Button variant="borderless" aria-label="Icon only button">
<Icon>
<IconDownload />
</Icon>
</Button>
<Button variant="borderless" aria-label="Icon only button">
<Icon>
<IconSettings />
</Icon>
</Button>
</>
),
}}
/>
}
>
<></>
</BaseLayoutNew>
#Properties
Page title
Property | Description | Defined | Value |
---|---|---|---|
idRequired | string ID for the main section of base layout | ||
childrenOptional | element elements to populate the base layout | ||
pageHeaderOptional | element optional page header element |
#Guidelines
#Do's
#Don'ts
#Accessibility
Explore detailed guidelines for this component: Accessibility Specifications